/**
 * \file TurnSequenceWidget.h
 * \brief Header file for the \a TurnSequenceWidget class.
 * \ingroup Gui
 */

#ifndef TURNSEQUENCEWIDGET_H
#define TURNSEQUENCEWIDGET_H

#include<QListWidget>
#include<QTimer>
class Unit;

/**
 * \class TurnSequenceWidget
 * \brief Class to visualize the turn sequence.
 * \ingroup Gui
 */

class TurnSequenceWidget: public QListWidget{
Q_OBJECT
public:
	TurnSequenceWidget(const QList<Unit*> &turnSequence, QWidget *parent);///<Constructor. \param turnSequence The turn sequence. \param parent Parent.
	~TurnSequenceWidget();///<Destructor.
private slots:
	void slotTurnEnded(Unit *unit);///<Called when a \a Unit 's turn ended. \param unit The \a Unit whose turn ended.
	void slotUnitDamaged(Unit *unit);///<Called when a \a Unit is damaged. \param unit The damaged \a Unit.
	void slotUnitDied(Unit *unit);///<Called when a \a Unit died. \param unit The dead'un.
	void slotTimerTimeout();///<Called for graphical bling-bling.
private:
	QList<QTimer*> m_timers;///<Timers for bling-bling.
	QList< QListWidgetItem* > m_items;///<Bling-bling items.
};

#endif
